﻿using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WucCloud.Utility;

namespace WucCloud.Entity
{
    /// <summary>
    /// 菜单信息实体
    /// </summary>
    [Serializable]
    [SugarTable("Sys_MenuInfo", "菜单信息表")]
    [Tenant("0")]
    public class MenuInfoEntity :BaseEntity<string>
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        public MenuInfoEntity()
        {

        }

        /// <summary>
        /// 父级菜单Id
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnName = "ParentId", ColumnDataType = "nvarchar(50)", ColumnDescription = "父级菜单Id")]
        public string ParentId { get; set; }

        /// <summary>
        /// 菜单层级
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnName = "MenuLayer", ColumnDescription = "菜单类型")]
        public int? MenuLayer { get; set; }

        /// <summary>
        /// 菜单编码
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnName = "EnCode", ColumnDataType = "nvarchar(50)", ColumnDescription = "菜单编码")]
        public string EnCode { get; set; }

        /// <summary>
        /// 菜单名称
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnName = "MenuName", ColumnDataType = "nvarchar(50)", ColumnDescription = "菜单名称")]
        public string MenuName { get; set; }

        /// <summary>
        /// 菜单图标
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnName = "MenuIcon", ColumnDataType = "nvarchar(50)", ColumnDescription = "菜单图标")]
        public string MenuIcon { get; set; }

        /// <summary>
        /// 菜单地址
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnName = "MenuUrl", ColumnDataType = "nvarchar(500)", ColumnDescription = "菜单地址")]
        public string MenuUrl { get; set; }

        /// <summary>
        /// 权限类型 0-菜单 1-按钮 2-Ajax请求
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnName = "PermissionType", ColumnDescription = "权限类型")]
        public int? PermissionType { get; set; }

        /// <summary>
        /// 是否外链
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnName = "IsFrame", ColumnDescription = "是否外链")]
        public bool? IsFrame { get; set; }
    }
}
